# 创建一个列表
Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
print(Names)

# 修改列表中的元素
# 直接通过索引来修改元素
Names[0] = '万星明'
Names[2] = '王格非'
print(Names)

# 通过del来删除元素
# 删除索引为2的元素
del Names[2]
print(Names)

Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
print(Names)

# 通过切片来修改列表
# 在给切片进行赋值时,只能使用序列

# 使用新的元素替换旧元素
Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
Names[0:2] = ['牛魔王', '红孩儿']
print(Names)

Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
Names[0:2] = ['牛魔王', '红孩儿', '二郎神']
print(Names)

# 向索引为0的位置插入元素
Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
Names[0:0] = ['牛魔王']
print(Names)

# 当设置了步长时,序列中元素的个数必须和切片中元素的个数一致
Names = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
Names[::2] = ['牛魔王', '红孩儿', '二郎神']
print(Names)

# 通过切片来删除元素
del Names[0:2]
print(Names)

del Names[::2]
# Names[1:3] = []
print(Names)

print('修改后：', Names)

# 以上操作,只适用于可变序列
# s = 'hello'
# s[1] = 'a' 不可变序列,无法通过索引来修改
# 可以通过 list() 函数将其他的序列转换为list
# s = list(s)
# print(s)
